%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This file is part of the book
%%
%% Cryptography
%% http://code.google.com/p/crypto-book/
%%
%% Copyright (C) 2007--2010 David R. Kohel <David.Kohel@univmed.fr>
%%
%% See the file COPYING for copying conditions.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter*{Preface}

When embarking on a project to write a book in a subject saturated with such
books, the natural question to ask is: what niche does this book fill not
satisfied by other books on the subject?  The subject of cryptography attracts
participants from many academic disciplines, from mathematics to computer
science and engineering.  The goal of this book is to provide an introduction
which emphasizes the mathematical and algorithmic components and building
blocks suitable for mathematics students, while liberally illustrating the
theory with examples.  Most textbooks for a mathematics audience limit
themselves to pen and paper calculations, which fails to give the student
a sense of either the asymptotic complexity for the algorithms or access to
a practical range for cryptographic study.  Textbooks which take a computational
view usually miss the conceptual framework of the mathematics, and are either
tied to a particular commercial software package or emphasize low-level
computations in C or Java which requires a stronger computer science
background.  We choose to use the computer algebra system Sage for
experimental exploration, since this package is both freely available and
designed for intuitive interactive use.  We hope that this book will fill
a niche by emphasizing a mathematical presentation of structures in
cryptography, without sacrificing the explicit exploration of the field.

\begin{flushright}
David R. Kohel
\end{flushright}
